home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / assembly / d68k20.lha / D68k.History < prev    next >
Text File  |  1995-06-18  |  16KB  |  393 lines

  1. *******************************************************************************
  2.  
  3.     HISTORY des Disassemblers D68k von Denis Ahrens
  4.  
  5. *******************************************************************************
  6.  
  7.     V2.0 18-Jun-95
  8.  
  9.     - Alles was nicht mit einer Shell zutun hat wurde ausgebaut.
  10.       Es ist nicht mehr von der Workbench startbar und es erscheint
  11.       bei weglassen des Filenamens auch kein FileRequester mehr.
  12.  
  13.     - Neben dem Bootblock wird jetzt auch ein Kicksstartfile
  14.       (512KB) disassembliert! Ein JumpListFile.kick39 liegt bei!
  15.  
  16.     - Um die Kickfiles zu erzeugen liegt das Programm GetKick
  17.       v1.2 bei.
  18.  
  19.     - Die JumpTableRoutine wurde mal wieder an allen Ecken und
  20.       Enden verbessert um alle möglichen Variationen abzudecken.
  21.  
  22. +++++++++++++++++++
  23.  
  24.     V1.98 20-Okt-94
  25.  
  26.     - Bei dem speichern der 'JumpList.xxx' Files wird das Executable-
  27.       flag nicht mehr gesetzt.
  28.  
  29.     - Ein kleiner Fehler mit großen Auswirkungen in der JumpTable-
  30.       Routine wurde behoben. (Martin Berndt)
  31.  
  32.     - Texte werden jetzt nur noch als solche angezeigt. Die alten
  33.       HexDaten kann man per Option HEXDATA wieder aktivieren.
  34.  
  35. +++++++++++++++++++
  36.  
  37.     V1.97 18-Aug-94
  38.  
  39.     - Die JumpTableRoutine ist nochmal verbessert worden. Jetzt
  40.       werden die Tabellen VOR dem Jumpbefehl auch angezeigt.
  41.  
  42.     - Man muß D68k jetzt nicht mehr aus der Directory starten in
  43.       der auch die JumpTabledirectory ist um diese benutzen zu
  44.       können.
  45.  
  46. +++++++++++++++++++
  47.  
  48.     V1.96 24-Jun-94
  49.  
  50.     - Die Größe eines Hunks wird jetzt (wenn vorhanden) aus dem
  51.       HunkHeader genommen.
  52.  
  53.     - Die PowerLED wird nicht mehr benutzt !!!
  54.  
  55.     - Die JumpTableRoutine ist jetzt noch penibler, damit auch wirklich
  56.       nur echte Jumptabellen erkannt werden.
  57.  
  58. +++++++++++++++++++
  59.  
  60.     V1.95 13-Feb-94
  61.  
  62.     - Schwerer Fehler in der Ausgabe Behoben !!! (Wenn die Option NOPC/S
  63.           eingesetzt wurde, kamen in JEDER Zeile SIEBEN Null-Zeichen!)
  64.  
  65. +++++++++++++++++++
  66.  
  67.     V1.94 9-Okt-93
  68.  
  69.     - Fehler bei den ASL-Tags behoben.
  70.  
  71.     - Bei der "INFO"-Ausgabe werden nun auch die Anzahl der Relocs und der
  72.       Symbole ausgeben.
  73.  
  74. +++++++++++++++++++
  75.  
  76.     V1.93 4-Okt-93
  77.  
  78.     - Die JumpTable-Erkennungsroutine erkennt nun auch JumpTables die
  79.       VOR dem eigentlichem JMP Befehl stehen.
  80.     - Bei Ausgabe in ein File wird mit SetVBuf() ein 64KB großer Buffer
  81.       angefordert. Leider arbeitet diese Funktion erst ab V39 korrekt.
  82.     - Es wird jetzt nach einem CTRL-C nicht mehr der PrintFault() Fehler
  83.       ausgegeben.
  84.     - Falsche RESULT-Abarbeitung des ASL-Requesters behoben. Ein
  85.       Programm das die Abfrage an den ReqTools-Requester umleitet, müßte
  86.       nun ohne Probleme arbeiten. Außerdem werden nun ".info" Files per
  87.       ASL-Tag aussortiert und nicht mehr per ASL-Pattern (dadurch werden
  88.       jetzt auch ".backdrop" Files weggelassen).
  89.     - Befehle die einen MC68020 oder höher benötigen, werden NUR NOCH
  90.       disassembliert wenn die Option/ToolType "68020" angegeben wird.
  91. !    - D68k kann nun auch von der Workbench gestartet werden. ALLE Optionen
  92.       können per ToolType angegeben werden.
  93.     - D68k kann jetzt auch den BSS-Anhang von DATA_HUNKS verarbeiten.
  94.       (Erkennbar an den unterschiedlichen Größen EINES Hunks)
  95.     - Librarys werden unterstützt, das heisst das die Funktionstabellen
  96.       in der JumpListTabelle eingetragen werden. Der TRACE-Modus wird
  97.       automatisch eingeschaltet.
  98.     - Bei BFINS, BFCLR, BFCHG und BFSET sind die beiden PC-relativen
  99.       Adressierungsarten jetzt nicht mehr gesetzt.
  100.     - Es wurde in PASS1 nicht zwischen den beiden versch. BitField Befehlen
  101.       unterschieden. (Einmal die vier mit ..,dx und einmal die vier ohne)
  102.     - In PASS1 wurde der FMOVE(M) mit der falschen Size (X anstelle von L)
  103.       abgearbeitet. Ausserdem wurden die Adressierungsarten für den
  104.       Befehl in beiden PASSES falsch gesetzt.
  105.     - Kleinen Fehler im JumpList-Parser behoben. Man kann jetzt einzelne
  106.       Einträge mit einem Semikolon 'ausklammern'.
  107.     - Die externen JumpList-Files werden nicht mehr von SYS:Prefs/..,
  108.       eingeladen sondern eine Directory mit dem Namen D68k_JumpLists muss
  109.       sich im gleichen Verzeichnis befinden wie D68k.
  110.     - Größerer Bug in der Jumptable-Routine behoben !!!
  111.  
  112. +++++++++++++++++++
  113.  
  114.     V1.91 23-Aug-93
  115.  
  116.     - Die Ausgaberoutine ist nun gepuffert (FWrite()).
  117.     - Die FLine Befehle werden nun wieder nach Labels abgesucht.
  118.       (Ich habe vergessen dies nach dem debuggen wieder einzuschalten).
  119.  
  120. +++++++++++++++++++
  121.  
  122.     V1.90 2-Aug-93
  123.  
  124.     - Die Länge von LIB-Hunks wird jetzt korrekt ausgegeben.
  125.  
  126. +++++++++++++++++++
  127.  
  128.     V1.89 19-Apr-93
  129.  
  130.     - Enforcer-Hits bei Aufruf des ASL-Requesters behoben.
  131.     - Enforcer-Hit beim Schreiben des Reloc-Identifiers "_" behoben.
  132.     - FBcc und PBcc als Springer deklariert, damit sie mit der Trace-
  133.       Methode funktionieren.
  134.  
  135. +++++++++++++++++++
  136.  
  137.     V1.88 06-Mar-93
  138.  
  139.     - Labeladressen an denen schon Symbole von einem Symbol-Hunk sind,
  140.       wurden trotzdem ausgegeben. Jetzt wird wieder der Symbolname als
  141.       Label ausgegeben.
  142.     - Guru3 bei SymbolNamensuche behoben.
  143.     - Symbolnamen wurden nur 16 Zeichen lang ausgegeben, das ist jetzt
  144.       behoben.
  145.     - Bei dem CAS.x Befehl wurden die beiden PC-Relativen mit den beiden
  146.       Absoluten Adressierungsarten vertauscht (die falschen Zwei wurden
  147.       akzeptiert und die richtigen nicht).
  148.  
  149. +++++++++++++++++++
  150.  
  151.     V1.87 22-Feb-93
  152.  
  153.     - Der ILLEGAL-Befehl wird ab jetzt auch als Endpunkt bei der Trace-
  154.       Methode angesehen (Weil der PC hier nicht vorbeikommt).
  155.     - Datumformat wegen inkompatibilität zum Versionsbefehl geändert.
  156.     - Im Hex-Bereich wird zwischen einem Reloc32-Langwort ein Unterstrich
  157.       gesetzt (Nur im CODE-HUNK).
  158.  
  159. +++++++++++++++++++
  160.  
  161.     V1.86 17-Feb-93
  162.  
  163.     - Wenn ein Bootblock erkannt wurde, werden jetzt die ersten drei
  164.       Langwörter ausgegeben. (Kennung, Checksumme und Rootblock)
  165.     - Die Berücksichtigung des Externhunks wurde um Extern_Dext08 und
  166.       Extern_Dext32 erweitert.
  167.     - Die Hunks Hunk_DRel08 und Hunk_DRel32 werden jetzt auch erkannt.
  168.       (Wird aber sonst noch nicht berücksichtigt, weil mir der Zweck nicht
  169.       bekannt ist)
  170.     - Bei der Ausgabe WURDE der Name des Files durch die doppelte Belegung
  171.       eines FileInfoBlocks falsch ausgegeben.
  172.  
  173. +++++++++++++++++++
  174.  
  175.     V1.84 11-Feb-93
  176.  
  177. !!!    - D68k hat jetzt eine neue Methode um Programme zu disassemblieren.
  178.       Man muß sie mit der Option TRACE einschalten.
  179. !    - Falls die TRACE-Methode gewählt wurde, erkennt D68k C-spezifische
  180.       Jumptabellen die so angezeigt werden, das ein Assembler die
  181.       korrekten Adressen errechnen kann.
  182.     - Die Skalierung bei PC-Relativen Adressierungsarten wurde hinzu-
  183.       gefügt. {z.B.: L000001(PC,D0.L*2)  }.
  184.     - Es wurden mehrere Fehler bei den neuen Adressierungsarten beseitigt.
  185.     - Der Asl-Requester wird mit etwas mehr Sicherheit abgearbeitet.
  186. !!    - D68k erkennt jetzt auch ABGESPEICHERTE Bootblöcke (File-Format).
  187.     - Wenn die Hunkgröße die Filegröße überschreitet wird eine Fehler-
  188.       meldung ausgegeben (z.B. bei gesplitteten Files).
  189.     - Die Anzeige der Extern-Listen bei der Hunklab-Option werden jetzt
  190.       bündiger ausgegeben, so das sie in einer Reihe stehen.
  191.     - Bei Reloc08 und Reloc16 Hunks wurde anstatt ein Byte bzw. ein Wort
  192.       IMMER ein Langwort eingelesen um das Label zu erzeugen, wodurch
  193.       eine illegale Adresse entstand, die an den Sicherheitstests nicht
  194.       vorbeigekommen ist. Das ist jetzt behoben.
  195.     - Labelerzeugung durch Reloceinträge in Data-Hunks war fehlerhaft.
  196.     - Bei Bcc-Sprungbefehlen wird jetzt auch auf Reloceintrag überprüft. Das
  197.       heisst Bcc Befehle können jetzt auch auf andere Hunks zeigen! (A68k).
  198.       Beim Linken muß dann SmallCode angegeben werden.
  199.     - Falls das einzuladende File eine Länge von Null Bytes hatte, wurde
  200.       zwar abgebrochen (Speicherfehler!), aber das File wurde nicht ge-
  201.       schlossen. Jetzt wird es geschlossen und eine 'kann File nicht
  202.       öffnen' Fehlermeldung ausgegeben.
  203.  
  204. +++++++++++++++++++
  205.  
  206.     V1.55 23-Jan-93
  207.  
  208.     - Fehler bei der UNIT- und NAME-HUNK Ausgabe der Version 1.54 behoben.
  209.  
  210. +++++++++++++++++++
  211.  
  212.     V1.54 18-Jan-93
  213.  
  214.     - Bei CMPI.x fehlten die PC-relativen AdressierungsArten.
  215.     - Label-, Symbol- und Reloc32 Suchroutinen überarbeitet und beschleunigt.
  216.     - Bei ADDI.x und SUBI.x werden die Zahlen nur noch positiv angezeigt.
  217.     - Die Optionen NextLabel und OriLogicOff sind hinzugekommen.
  218.     - Falls Labels zwischen Befehlen existieren, werden sie (an geraden
  219.       Adressen) angezeigt. Das sieht so aus: 000000 4BF9~0000 0000
  220.       Das ist ein LEA Befehl, wo sich mittendrin ein Label an Adresse 000002
  221.       befindet. Dies wird durch ein '~' angezeigt.
  222.  
  223. +++++++++++++++++++
  224.  
  225.     V1.53 06-Jan-93
  226.  
  227.     - Es werden auch Labels in Hunks angezeigt, deren Länge NULL beträgt.
  228.       (Ein einziges Label an Adresse Null (gesehen in small.lib))
  229.     - Ausgabefehler bei PMOVE-Befehlen beseitigt.
  230.     - Bessere Aussortierung von illegalen BitField-Befehlen.
  231.     - Kleine Ungereimtheiten bei BitField-Befehlen deren Adressierungs-Arten
  232.       nicht zulässig waren sind beseitigt.
  233.     - Bei FRESTORE fehlten zwei Adressierungsarten. (Die beiden PC-relativen)
  234.     - Fehler in PASS1 bei FSAVE, PSAVE, FRESTORE und PRESTORE behoben
  235.     - In PASS1 werden jetzt die Standard-Libraries erkannt und übersprungen.
  236.       Dadurch fallen die Labels weg, die erzeugt worden wären. In PASS2
  237.       werden anstatt der Befehle die Library-Namen ausgegeben.
  238.  
  239. +++++++++++++++++++
  240.  
  241.     V1.52 29-Dez-92
  242.  
  243.     - Anstatt DRELOC16 wurde DRELOC32 ausgegeben. Das ist behoben.
  244.     - Extern_Dext16 wird erkannt und ev. eingesetzt.
  245.     - Es werden jetzt mehr Extern_korrekturen unterstützt.
  246.     - Die Hunk-Sorten HUNK-LIB und HUNK-INDEX werden erkannt.
  247.     - Bei PC-Relativen Sprüngen (Bcc ,JSR $0000(PC) ,DBcc, FDBcc ,PDBcc
  248.       FBcc oder PBcc) mit einem Sprung-Displacement von NULL wird
  249.       kein Label mehr erzeugt.
  250.     - Der LPSTOP Befehl (MC68060!) wurde vier Bytes zu kurz angegeben (PASS 1).
  251.     - FLine-Befehls Erkennung (PASS 1) hat NICHTS erkannt. Das ist behoben.
  252.     - Anstatt FACOS wurde FCOSH ausgegeben. Das ist behoben.
  253.     - Kleine Unstimmigkeit bei SUBX (PASS 1) ist beseitigt.
  254.     - Bei einem Labelüberlauf (>32768 Labels) wird abgebrochen.
  255. !    - Wenn die File Option NICHT angegeben wird, öffnet sich ein
  256.       ASL-FileRequester.
  257.     - Bei den BitField Befehlen wurde das Datenregister falsch angezeigt.
  258.     - Der 'SINGLE' (.S) Wert auf der Mnemonic-Seite wurde falsch angegeben.
  259.     - Reloc_Labels und Extern_Equates werden jetzt in Code- und Data-Hunks
  260.       angezeigt.
  261.  
  262. +++++++++++++++++++
  263.  
  264.     V1.51 01-Dez-92
  265.  
  266.     - Absturz bei File-Ausgabe OHNE INFO-Option beseitigt.
  267.     - Hunk-Fehlermeldungen bei FileAusgabe werden ab jetzt nur auf
  268.       dem CLI-Fenster ausgegeben.
  269.  
  270. +++++++++++++++++++
  271.  
  272.     V1.50 23-Nov-92
  273.  
  274.     - Bei Unit- und Name-Hunks wird der Name auch angezeigt
  275.     - Mit HUNKLAB werden jetzt auch Daten (Offsets) vom Extern-Hunk
  276.       aufgelistet (nur die des Typs < $80)
  277.     - Die Symbol-Adressen werden nicht nur aufgelistet, sondern auch
  278.       als Label angezeigt.
  279.     - Die Anzahl der Extern-Hunk Einträge wird jetzt korrekt angezeigt.
  280.     - Wenn externe referenzen vorhanden sind, werden diese im Code-Hunk
  281.       angezeigt (z.B. MOVEA.L _AbsExecBase,A6 ).
  282.     - Man kann jetzt die 'rts-logic' mit RLO/S abschalten (siehe oben)
  283.     - Die Ausgabe der CODE-, DATA-, und BSS-Hunks kann nun mit den
  284.       Optionen NOCODE, NODATA und NOBSS unterdrückt werden
  285.     - Enforcer-Hits durch das eventuelle Auslesen der Adresse $0 kommen
  286.       nicht mehr vor (ist aber ungetestet, hab keine MMU, bloß 'nen MC68010)
  287. !!    - MEINE SELECTIONSORT-Routine zum Sortieren der Labels wurde durch eine
  288.       QUICKSORT ersetzt. Vorher 35 sek., jetzt vier Sekunden für LhA.
  289.     - Das letzte Label eines Hunks, wurde immer als erstes Label im nächsten
  290.       Hunk angezeigt. Dies ist behoben.
  291.     - Bei dem, mit der TO/S Option, erzeugtem File ist jetzt das ExecutableBit
  292.       nicht mehr gesetzt.
  293. !!    - D68k erkennt jetzt ALLE CPU Befehle (bis einschließlich 68040)
  294.       (Ausnahme: Die cpXXX Befehle des 68020; sind aber identisch mit den
  295.       gleichnamigen F-Line Befehlen)
  296. !!    - Es sind ALLE 68881/82 Befehle integriert. Auch die Double- und
  297.       Single Precision des MC68040.
  298. !!    - Es werden ALLE 68851 PMMU Befehle erkannt.
  299. !!    - Die Adressierungsarten des 68020... sind vollständig integriert.
  300.       (Ich hab sie alle von Hand entschlüsselt, mit dem Newmodes File
  301.       von Carnivore/Beermacht; wenn was fehlt melden)
  302.     - Fehler beim Umsetzen der PC-relativen Adresse bei dem Befehl
  303.       BTST #Imm behoben (Fehler im AdressParser, SAS ASM 5.10b hat auch
  304.       Probleme)
  305.     - Fehler bei MOVE TO SR und MOVE TO CCR wurde behoben. Anstatt WORD
  306.       wurde ev. BYTE oder LONG angegeben (vom letzten Befehl).
  307.     - Es werden jetzt auch Reloc16, Reloc08 und DReloc16 erkannt und
  308.       zwingen D68k NICHT mehr zum Abbrechen.
  309.       (Werden aber noch nicht so unterstützt wie Reloc32)
  310.     - Die Anzeigenlänge der Hunks ist von vier Bytes auf zehn gestiegen.
  311.       Aus EXT. wird EXTERN, aus RE32 wird RELOC32 usw.
  312.     - Wenn ein CODE, DATA oder BSS Hunk ins CHIP-Ram geladen wird,
  313.       wird das auch angezeigt.(DATA CHIP, CODE CHIP oder BBS CHIP)
  314.       Für FAST-Ram gilt das gleiche.
  315.     - AusgabeFile wird nur erzeugt wenn vorher alles geklappt hat.
  316.  
  317. +++++++++++++++++++
  318.  
  319.     V1.07 29-Sep-92
  320.  
  321. !!!    - BÖSER FEHLER beim Schreiben der Mnemonics in ein File behoben
  322.     - Die Routine zum ermitteln der Labelnr. ist nun wesentlich schneller
  323.       (kürzerer Code (68010.. optimiert.))
  324.     - Anzeige der FehlerQuelle mittels IoErr() und PrintFault()
  325.     - Die Option INFO/S zeigt die Status-Informationen an, wenn sie
  326.       bereit stehen (Länge des Files, HunkAnzahl, LabelAnzahl...)
  327.     - Die 68881/82 Befehl FBcc, FDBcc und FScc werden erkannt
  328.     - einige Optimierungen bei der DATA-ausgabe.
  329.     - Option HUNKLAB/S dazugekommen (ist aber nocht nicht ganz fertig
  330.       zeigt bisher nur SymbolNamen)
  331.     - bessere Ausgabe von fehlsprüngen z.B. JMP $00(PC,d0.l)
  332.  
  333. +++++++++++++++++++
  334.  
  335.     V1.04 20-Aug-92
  336.  
  337.     - Effektive AdressierungsArt PCIndex mit Displacement wurde
  338.       vergessen. (Label wurde nicht angezeigt)
  339.     - Fehler bei PCIndirekt mit neg. Richtung in den Adressierungsarten-
  340.       Routinen behoben
  341.     - Bei dem Befehl BTST hatte Ich die AdressierungsArt #Konstante
  342.       vergessen
  343.     - Bei dem Befehl CHK wurde die #Konstante nur in Byte-größe angezeigt.
  344.       Es muß aber min. Wort-größe sein(Beim 68000/10).
  345.     - Ein GROSSER Fehler beim Überprüfen der möglichen AdressierungsArten
  346.       ist behoben. (JMP D0 ist nicht mehr möglich)
  347.     - Es sind AUßER den cpXXX ALLE 68020 Befehle dazugekommen
  348.       (Die neuen AdressierungsArten gibts auch noch nicht, mir fehlt das Buch)
  349.     - Die Option NOPC/S schaltet die ganzen Hex-Zahlen am Anfang der Zeile ab
  350.     - Unter DOS 1.3 läuft D68k nicht mehr (wegen ReadArgs, FreeArgs und
  351.       WriteChars.
  352.     - xxx.B (z.B. MOVE.B D0,A0) in ein AdressRegister gibt es jetzt nicht mehr
  353.     - Die Option TO/K zum umlenken der Ausgabe in ein File
  354.     - Die Ausgabe wurde etwas verbessert. Es werden jetzt nicht mehr
  355.       soviele Zeichen einzeln ausgeben, ist aber kaum schneller da sowieso
  356.       alles durch die _LVOWriteChars(a6) Routine gepuffert wird.
  357.     - Fehler bei der Ausgabe der letzten Zeile bei BBS und DATA Hunks beseitigt
  358.     - Labelsortier-Routine beschleunigt (2 mal, z.B. LHA von 37 auf 27 sek.)
  359.     - LED flackern bei vielen CODE-Hunks (z.B. amiga.lib) behoben
  360.  
  361. +++++++++++++++++++
  362.  
  363.     V1.00 06-Aug-92
  364.  
  365.     - Fehler bei MOVEP.W, es wurde immer MOVEP.WL angezeigt
  366.  
  367.     V0.99 29-Jul-92
  368.  
  369.     - Die BSS-Ausgabe ist nun brauchbar (V0.98)
  370.     - Die Befehle ROXL.? und ROXR.? wurden falsch geschrieben
  371.       (ROLX.? und RORX.?)
  372.     - Die Reloc32-Zeile hat nun ein Semikolon
  373.     - Die Hunk-Namen sind jetzt zum Re-Assemblieren mit A68k an die
  374.       richtige Stelle gerückt
  375.  
  376.     V0.97 29-Jul-92
  377.  
  378.     - Die Data-Ausgabe ist nun brauchbar (hoffe Ich)
  379.     
  380.     V0.96 29-Jun-92
  381.  
  382.     - Sortierroutine der Labels wurde insg. um den Faktor 2-3 beschl.
  383.  
  384.     V0.5xx    Mai-Juni 92
  385.  
  386.     - Labels sind dazugekommen (puh war das 'ne Arbeit)
  387.  
  388.     V0.421  Mitte 91 (Größe ca. 10kb)
  389.  
  390.     - VersionsNummer des Grundprogramms (ohne Labels)
  391.  
  392. *******************************************************************************
  393.